/**
 * Universidad Del Valle De Guatemala.
 * Algoritmos y Estructuras de Datos.
 * Sección 20.
 * Miguel Enrique Zea Arenales.
 * Carné 09238.
 * 20/09/2012.
 */
package heapshuffman;

/**
 * @author Miguel Zea
 * Nodo empleado en la definición de un árbol binario de Huffman. 
 * Tomado del texto Java Structures de Duane A. Bailey capítulo 12.
 * http://www.cs.williams.edu/JavaStructures/Book.html
 */
public class HuffmanNode {
    int frequency; // Frecuencia del caracter.
    char ch;    // Caracter. 
    
    /**
     * @pre Ninguna.
     * @post Construye un nodo de frecuencia establecida. 
     */
    public HuffmanNode(int freq) {
        ch = 0;
        frequency = freq;
    }

    /**
     * @pre Ninguna.
     * @post Construye un nodo con un caracter establecido y frecuencia 1. 
     */
    public HuffmanNode(char c) {
        ch = c;
        frequency = 1;
    }

    /**
     * @pre El objeto a comparar debe ser un nodo de Huffman.
     * @post Regresa verdadero si ambos objetos representan al mismo caracter. 
     */
    public boolean equals(Object other) {
        HuffmanNode that = (HuffmanNode)other;
        return this.ch == that.ch;
    }    
}
